home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / graphics / mindimg.zip / README.TXT < prev   
Text File  |  1992-12-08  |  5KB  |  126 lines

  1. MindImages - Documentation for P.C. version 1.00: 8 December 1992
  2.  
  3.              V.G.A. required at the moment (unless there is sufficient
  4.              demand for support of other graphics adapters). 
  5.  
  6. Program conceived and created by:
  7.  
  8.  Eric Thompson   : E.Thompson@newcastle.ac.uk
  9.  Rob Scott       : Robert.Scott@newcastle.ac.uk
  10.  Gordon Flanagan : G.J.Flanagan@newcastle.ac.uk
  11.  
  12. To run MindImages from a dos prompt type:
  13.  
  14. MINDIMG
  15.  
  16.  
  17. Description:
  18. ============
  19.  
  20.  MindImages was written to allow the creation of single image random dot
  21. stereograms (sirds) from compressed depth information. The compression format
  22. was specifically designed to allow direct transmission across the Internet
  23. to the newsgroup alt.3d, where the interest in sirds has snowballed in the
  24. last few months, thanks to Andy Kinsmans' Torus - a couple of hundred K
  25. postscript bit image.
  26.  
  27.  Needless to say, postscript images take up a lot of network bandwidth, so
  28. it was decided to take the original depth information, compress it and
  29. transmit the much smaller (5 - 30K typ.) files.
  30.  
  31.  MindImages will take the files as input and create either:
  32.    
  33.   An on screen black and white rds,
  34.   An on screen red/green or red/blue stereogram (use coloured glasses)
  35.   A postscript bit image to throw at your postscript printer.
  36.  
  37.  
  38. Viewing sirds:
  39. ==============
  40.  
  41.  There are two ways to view these stereograms. These are:
  42.         
  43.             1) wide eyed.
  44.             2) cross eyed.
  45.  
  46.  Both will create a 3d image in the brain, but the image will be inverted
  47. using one way as opposed to the other. That is to say, parts of the image
  48. which are raised when viewed wide eyed will descend into the screen or paper
  49. if viewed cross eyed.
  50.  
  51.  It is helpful when starting to put two small pieces of blu-tac or coloured
  52. sticky tape on the top of the monitor. These should be at exactly 1/5 of 
  53. the display window apart, in the centre.
  54.  
  55.  With the stereogram on the monitor or piece of paper:
  56.  
  57.   1) At about 30 - 50 cm from the display, focus on a point directly
  58. behind (3 metres or more away) so that the two marks are out of focus and
  59. have split into four marks. Now, by adjusting your focus/distance try to
  60. get the right hand mark as seen by the left eye and the left hand mark as
  61. seen by the right eye to converge. When these lock together, keep the same
  62. dopey look and allow your eyes to drop down onto the random pattern - 
  63. you should now be smiling as the 3d picture appears from nowhere.
  64.  
  65.   2) At a distance that is comfortable, cross your eyes until you have
  66. three marks in focus and gaze at the random pattern as above.
  67.  
  68. Note: If you are using the screen display, *Density 128 makes the picture
  69. easier to see for most people, whereas *Density 200 is easier for a
  70. postscript image (and saves toner).
  71.  
  72.  
  73. Compressed file format:
  74. =======================
  75.  
  76.  [You need only read this if you are curious]
  77.  
  78.  The first line of the compressed file contains a copyright message
  79. terminated by a line feed and/or carriage return.
  80.  
  81.  The following lines are separated by line feeds and/or carriage returns
  82. at a convenient line width (usually 75 chars). These separators are ignored
  83. by the program.
  84.  
  85.  The next two bytes refer to the xcale and yscale respectively. The largest
  86. size handled being 512x by 512y (xscale=1 yscale=1). An xscale of 2 and
  87. yscale of 4 would describe depth info of a 256x by 128y grid. The scale
  88. values are added to 33 to get them into the ascii range (this would have
  89. been 32, the space character, but some terminals/machines strip trailing
  90. spaces).
  91.  
  92.  In this case, the depth value has been limited to the range 0 - 63,
  93. conveniently leaving 30 unused values in the ascii range after adding the
  94. 33 offset. Total range here is 33 to 126.
  95.  
  96.  In creating the output file, a variation of run length encoding is used to
  97. fill a large buffer with depth values and running counts (up to 96)
  98. i.e. if there are 12 horizontal values of depth 25 then the buffer would
  99. contain 25,12,...
  100.  
  101. Now the unused ascii values come into play:
  102.  We can look at the previous 30 colour/count combinations (or up to the 
  103. current number of combinations processed-2 if we have done less than 30)
  104. and if we find that this 25,12 combination has appeared within this range
  105. at say, the 14th position back, then we would place the single value:
  106.  
  107.                     33+63+14=110 in our output file.
  108.  
  109.  If however, this colour/count combination did not exist within this range,
  110. then we would place the values:
  111.  
  112.                 33+colour and 33+count in our output file.
  113.  
  114. Thus if repeated values are present we reduce the total number of bytes
  115. needed even further.
  116.  
  117.  The last valid byte in the output file is a checksum which is the sum of all
  118. the bytes in the title string that are greater than 32 added to (the sum of
  119. all the succeeding bytes in the output file - 33, ignoring line feeds etc).
  120.  
  121.  Now take this number MOD 64 and add 33 ...done!
  122.   
  123.  The checksum allows a check on file integrity and helps to protect the
  124. copyright string at the start which will be printed at the top left hand
  125. corner of the printed image.
  126.